SQL Injection 공격 탐지
- 웹 요청을 분석할 때는 사용자로부터 들어오는 모든 영역을 확인하기
- SQL 키워드 찾기
- 특수 문자를 확인하기
- 일반적으로 사용되는 SQL 인젝션 페이로드 숙지하기
자동화된 SQL 도구 탐지
공격자들이 SQLI 익젝션 취약점을 탐지하기 위해 다양한 자동화 도구를 사용할 수 있습닏. sqlmap의 경우 해당 내용중 하나입니다.
- User-Agent 확인하기 : User-Agent를 확인하면 자동화도구를 감지할 수 있습니다.
- 요청 빈도 확인하기
- 페이로드 내용 살펴보기
- 페이로드 복잡한 경우

위 로그 사진을 보면 짧은 시간 안에 여러 SQL이 들어가 있는 요청이 들어오는 것을 볼 수 있습니다. 또한 GET method 옆에 각종 SQLi 공격으로 의심되는 요청이 날아오는 것을 볼 수 있었습니다.
실습 문제 풀이
참고 사진1
정답

첫 번째 문에서는 언제부터 sqli 공격이 진행되었는지 물어봤습니다. 이 경우 참고사진1에서 2022년 3월 1일 8시 35분 14초부터라고 생각하는데요. 해당 영역에 첫번째 요청을 보면 '(%27) 작은 따움표를 이용해서 sql 쿼리를 우회하는 모습을 볼 수 있었습니다.

두 번째 질문의 경우 공격자가 타깃으로 한 서버의 IP 주소를 물어봤습니다. 이 경우 참고 사진1 공격으로 의심됐던 요청의 제일 앞부분을 보면 알 수 있었습니다.

참고 사진1에 37분 10초의 요청을 보면 200으로 요청 성공 코드를 찾을 수 있습니다. 따라서 sqli가 성공했다고 볼 수 있습니다.

마지막으로 해당 공격들은 모두 '를 이용하고 있으며 37분때의 공격들을 보면 OR를 적절하게 사용하고 있는것을 봐서 일반적인 sqli라고 판단했습니다.